package com.hyt.it.ogt.ks.service;

import com.hyt.it.ogt.ks.model.dto.InitPaperDataNewStatusDTO;
import com.hyt.it.ogt.ks.model.vo.InitPaperVO;

/**
 * <p>
 *  其他系统调用接口
 * </p>
 *
 * @author linjd
 * @since 2020-06-02
 */
public interface IPaperInitService {

    InitPaperVO initPaper(String examId, String candidateId);

    /**
     * 初始化试卷
     * @param examId
     * @param candidateId
     * @param answerVer
     * @param ps
     */
    void initPaper(String examId, String candidateId, Integer answerVer, InitPaperDataNewStatusDTO ps);

    /**
     * 多线程使用初始化试装，向上抛出异常，便与线程池记录不成功的任务
     * @param examId        :  考试id
     * @param candidateId   :  生生id
     * @param answerVer     :
     */
    void initPaperForTask(String examId,String candidateId,String admissionNumber,Integer answerVer);

    /**
     * 用与判断当前考生的试卷是否需要初始化   1：没有paperid =  true  2:paper_id != null 但不是最新且无作答 = true 3：
     * @param examId
     * @param candidateId
     * @return
     */
    InitPaperDataNewStatusDTO isInitAndNewPaper(String examId, String candidateId);
}
